package Question18_4;
import java.util.ArrayList;
class MyThread extends Thread {
long time;
ArrayList<Resource> res = new ArrayList<Resource>();
public ArrayList<Resource> getRes() {
return res;
}
public void run() {
/* Run infinitely */
time = System.currentTimeMillis();
int count = 0;
while (true) {
if (count < 4){
if (Question.canAcquireResource(this, Question.r[count])) {
res.add(Question.r[count]);
count++;
System.out.println("Resource: [" + Question.r[count - 1].getId() + "] acquired by thread: [" + this.getName() + "]");
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
else {
this.stop();
}
}
}
public long getTime() {
return time;
}
public void setRes(ArrayList<Resource> res) {
this.res = res;
}
MyThread(String name) {
super(name);
}
}